
#include "DataStructure/Input/Load/FORCEData.h"

#include "DataStructure/Common/Validation.h"

bool SG::DataStructure::FEM::operator== (const FORCEData& lhs, const FORCEData& rhs)
{
    if (lhs.m_sId != rhs.m_sId)
    {
        return false;
    }
    if (lhs.m_nodeId != rhs.m_nodeId)
    {
        return false;
    }
    if (lhs.m_coordSysmId != rhs.m_coordSysmId)
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (lhs.m_factor, rhs.m_factor))
    {
        return false;
    }
    for (int i = 0; i < 3; ++i)
    {
        if (lhs.m_load[i] != rhs.m_load[i])
        {
            return false;
        }
    }
    if (lhs.m_domainId != rhs.m_domainId)
    {
        return false;  // NOLINT(readability-simplify-boolean-expr)
    }
    return true;
}

bool SG::DataStructure::FEM::operator< (const FORCEData& SGDataA, const FORCEData& SGDataB)
{
    return SGDataA.m_sId < SGDataB.m_sId;
}
